package com.application.examples.utils;

import java.util.Random;
import java.util.UUID;

/**
 *
 */
public final class UUIDUtils {

    public static final String SEEDS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    /**
     * 生成UUID
     *
     * @return String
     * @author taohanlin
     * @date 2019年10月14日 下午4:31:23
     */
    public static String getUUID() {
        UUID uuid = UUID.randomUUID();
        return uuid.toString().replace("-", "");
    }

    /**
     * 随机数字长度
     *
     * @return String
     * @author taohanlin
     * @date 2019年10月14日 下午4:38:14
     */
    public static String randomNum(int length) {
        StringBuffer result = new StringBuffer();
        Random random = new Random();
        for (int i = 0; i < length; ++i) {
            result.append(random.nextInt(10));
        }
        return result.toString();
    }

    /**
     * 随机字符串的随机字符库
     *
     * @return String
     * @author taohanlin
     * @date 2019年10月14日 下午4:38:09
     */
    public static String randomCharAndNum(int length) {
        StringBuffer result = new StringBuffer();
        Random random = new Random();
        for (int i = 0; i < length; ++i) {
            result.append(SEEDS.charAt(random.nextInt(SEEDS.length())));
        }
        return result.toString();
    }

    /**
     * 随机区间的数字
     *
     * @return int
     * @author taohanlin
     * @date 2019年10月14日 下午4:41:48
     */
    public static int randomInt(int from, int to) {
        if (from < 0 || to <= 0 || (to - from) <= 0) {
            return 0;
        }
        Random random = new Random();
        random.nextInt();
        return random.nextInt(to - from) + from;
    }
}
